#e
#Title[Fu@얂فv]
#Text[]
#PlayLevel[eޗp]
#Image[.\img\.png]
#BackGround[Default]
#BGM[\bgm\Rin's Theme.mp3]
#ScriptVersion[2]

script_enemy_main {
	let imgEnemy = GetCurrentScriptDirectory ~ "img\s_rin.png";
	#include_function ".\lib\lib_common.txt"
        LoadUserShotData(GetCurrentScriptDirectory ~ "img\shot_All.txt");

	@Initialize {
		SetMovePosition02(GetCenterX, GetClipMinY + 90, 60);
		SetLife(5000);
		SetScore(1000000);
		SetTimer(100);
		CutIn(KOUMA, "Fu@얂فv", "script\img\s_rin1.png", 129, 0, 256, 256);
		LoadGraphic(imgEnemy);
		SetTexture(imgEnemy);
		SetEnemyMarker(true);
		SetGraphicRect(1, 1, 34, 66);
		SetEffectForZeroLife(30, 150, 10);
		SetInvincibility(210);

		mainTask;
		subTask1;
		subTask2;
		
	}

	@MainLoop {
		SetCollisionA(GetX, GetY, 24);
		SetCollisionB(GetX, GetY, 24);
		yield;
	}

	@DrawLoop {
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetTexture(imgEnemy);
		DrawGraphic(GetX, GetY);
	}

	@Finalize  {
		PlaySE(se_enep01);
		DeleteGraphic(imgEnemy);
	}


	task mainTask {
		loop(50) {yield;}

		loop {
			Concentration01(70);
			PlaySE(se_ch02);
			loop(70) {yield;}

			let rx= rand(GetCenterX-150,GetCenterX+150);
			let ry= rand(GetClipMinY+60,GetClipMinY+120);
			let angle = rand(0, 360);

				loop(90){CreateShotA("shot", rx, ry, 0);
				SetShotDataA("shot", 0, 1.1+absolute((angle+18)%72-36)/15, angle, 0, 0, 1.1+absolute((angle+18)%72-36)/15, RED12);
				SetShotDataA("shot", 30, 0, NULL, 0, 0, 0, RED12);
				SetShotDataA("shot", 120, 1+absolute((angle+18)%72-36)/15, NULL, 0, 0, 1+absolute((angle+18)%72-36)/15, RED12);
				PlaySE(se_tan01);
				FireShot("shot");
				angle += 360/90;

			}
				loop(24){let shot1=1;
				CreateShotA(shot1, rx, ry, 0);
				SetShotDataA(shot1, 0, 1.1, angle, 0, 0, 1.1, RED12);
				SetShotDataA(shot1, 30, 0, NULL, 0, 0, 0, RED12);
				SetShotDataA(shot1, 120, 1, NULL, 0, 0, 1, RED12);
				FireShot(shot1);

				angle += 360/24;

			}

			loop(40) {yield;}

			rx= rand(GetCenterX-150,GetCenterX+150);
			ry= rand(GetClipMinY+60,GetClipMinY+120);

				loop(90){CreateShotA("shot", rx, ry, 0);
				SetShotDataA("shot", 0, 1.1+absolute((angle+18)%72-36)/15, angle, 0, 0, 1.1+absolute((angle+18)%72-36)/15, WHITE12);
				SetShotDataA("shot", 30, 0, NULL, 0, 0, 0, WHITE12);
				SetShotDataA("shot", 120, 1+absolute((angle+18)%72-36)/15, NULL, 0, 0, 1+absolute((angle+18)%72-36)/15, WHITE12);
				PlaySE(se_tan01);
				FireShot("shot");
				angle += 360/90;

			}
				loop(24){let shot1=1;
				CreateShotA(shot1, rx, ry, 0);
				SetShotDataA(shot1, 0, 1.1, angle, 0, 0, 1.1, WHITE12);
				SetShotDataA(shot1, 30, 0, NULL, 0, 0, 0, WHITE12);
				SetShotDataA(shot1, 120, 1, NULL, 0, 0, 1, WHITE12);
				FireShot(shot1);

				angle += 360/24;

			}

			loop(40) {yield;}

			rx= rand(GetCenterX-150,GetCenterX+150);
			ry= rand(GetClipMinY+60,GetClipMinY+120);

				loop(90){CreateShotA("shot", rx, ry, 0);
				SetShotDataA("shot", 0, 1.1+absolute((angle+18)%72-36)/15, angle, 0, 0, 1.1+absolute((angle+18)%72-36)/15, YELLOW12);
				SetShotDataA("shot", 30, 0, NULL, 0, 0, 0, YELLOW12);
				SetShotDataA("shot", 120, 1+absolute((angle+18)%72-36)/15, NULL, 0, 0, 1+absolute((angle+18)%72-36)/15, YELLOW12);
				PlaySE(se_tan01);
				FireShot("shot");
				angle += 360/90;

			}
				loop(24){let shot1=1;
				CreateShotA(shot1, rx, ry, 0);
				SetShotDataA(shot1, 0, 1.1, angle, 0, 0, 1.1, YELLOW12);
				SetShotDataA(shot1, 30, 0, NULL, 0, 0, 0, YELLOW12);
				SetShotDataA(shot1, 120, 1.1, NULL, 0, 0, 1.1, YELLOW12);
				FireShot(shot1);

				angle += 360/24;

			}

			loop(3){loop(40) {yield;}
					PlaySE(se_kira00);
					}
					loop(50) {yield;}
		}
	}
		

	task subTask1 {	
				let angle2= 130;
		loop
		{yield;

		if(GetLife <= 2500) 
			{
			loop(4){CreateShot01(GetX, GetY, 2, angle2, 89, 0);
					CreateShot01(GetX, GetY, 2, -angle2+10, 89, 0);
					PlaySE(se_tan02);
					angle2+= 90;
					}

					
			angle2+= 7;
			loop(15){yield;}
			
			}

			}
		}

	task subTask2 {	
				let angle2= 270;
		loop
		{yield;

		if(GetLife <= 1250) 
			{
					CreateShot01(GetX, GetY, 2.2, angle2, 129, 0);
					CreateShot01(GetX, GetY, 2.2, angle2+72, 131, 0);
					CreateShot01(GetX, GetY, 2.2, angle2+144, 132, 0);
					CreateShot01(GetX, GetY, 2.2, angle2+216, 134, 0);
					CreateShot01(GetX, GetY, 2.2, angle2+288, 136, 0);
					PlaySE(se_tan02);
			angle2+= 14;
			loop(15){yield;}
			
			}

			}
		}

	}

}